/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Menu;

import Gerenciadores.GerenciadorConsulta;
import Gerenciadores.GerenciadorPaciente;
import Modelo.Consulta;
import Modelo.Paciente;
import Modelo.TipoConsulta;
import POO.TecladoUtils;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author kelyane
 */
class MenuAcaoAtualizarConsulta extends MenuAcao {

    @Override
    public void executar() throws IOException{
        //O usuario escolhe qual informacao deseja alterar para determinada consulta.
        
        try {  
            Consulta consulta = GerenciadorConsulta.obtemConsulta();
            if (consulta == null){
                return;
            }
            
            Integer opcao;
        
            do{
            
                MenuUtils.exibeMenuDadosConsulta();
                opcao = TecladoUtils.lerInteiro();

                switch(opcao){
                    case 1 :{
                        Paciente paciente = GerenciadorPaciente.obtemPaciente();
                        consulta.setPaciente(paciente);
                        break;
                    }
                    case 2 :{
                        String medico = TecladoUtils.lerString();
                        consulta.setMedico(medico);
                        break;
                    }
                    case 3 :{
                        String dataConsulta = TecladoUtils.lerString();                    
                        Date date = new SimpleDateFormat("dd/MM/yyyy HH:mm", Locale.ROOT).parse(dataConsulta);
                        consulta.setHorario(date);                    
                        break;
                    }
                    case 4 :{
                        MenuUtils.exibeMenuConsulta();
                        Integer numConsulta = TecladoUtils.lerInteiro();
                        TipoConsulta tpConsulta = MenuUtils.obtemConsulta(numConsulta);
                        consulta.setTpConsulta(tpConsulta);
                        break;
                    }
                }
                
            }while(opcao != 0);
            
        } catch (ParseException ex) {
            Logger.getLogger(MenuAcaoAtualizarConsulta.class.getName()).log(Level.SEVERE, null, ex);
        }
       
    }
    
    @Override
    public String getNome() {
        return "Atualizar Consulta";
    }
    
}
